<?php
	/**
	 * This is a MetaControl class, providing a QForm or QPanel access to event handlers
	 * and QControls to perform the Create, Edit, and Delete functionality
	 * of the TableUserProjectTmp class.  This code-generated class
	 * contains all the basic elements to help a QPanel or QForm display an HTML form that can
	 * manipulate a single TableUserProjectTmp object.
	 *
	 * To take advantage of some (or all) of these control objects, you
	 * must create a new QForm or QPanel which instantiates a TableUserProjectTmpMetaControl
	 * class.
	 *
	 * Any and all changes to this file will be overwritten with any subsequent
	 * code re-generation.
	 * 
	 * @package My Application
	 * @subpackage MetaControls
	 * property-read TableUserProjectTmp $TableUserProjectTmp the actual TableUserProjectTmp data class being edited
	 * property QLabel $IdControl
	 * property-read QLabel $IdLabel
	 * property QTextBox $UserNameControl
	 * property-read QLabel $UserNameLabel
	 * property QTextBox $FirstnameControl
	 * property-read QLabel $FirstnameLabel
	 * property QTextBox $LastnameControl
	 * property-read QLabel $LastnameLabel
	 * property QTextBox $MailControl
	 * property-read QLabel $MailLabel
	 * property QTextBox $PasswordControl
	 * property-read QLabel $PasswordLabel
	 * property QTextBox $IpControl
	 * property-read QLabel $IpLabel
	 * property QDateTimePicker $InputDateControl
	 * property-read QLabel $InputDateLabel
	 * property QDateTimePicker $TimeupDateControl
	 * property-read QLabel $TimeupDateLabel
	 * property QTextBox $UrlControl
	 * property-read QLabel $UrlLabel
	 * property QTextBox $RegisteredControl
	 * property-read QLabel $RegisteredLabel
	 * property QDateTimePicker $RegisterDateControl
	 * property-read QLabel $RegisterDateLabel
	 * property-read string $TitleVerb a verb indicating whether or not this is being edited or created
	 * property-read boolean $EditMode a boolean indicating whether or not this is being edited or created
	 */

	class TableUserProjectTmpMetaControlGen extends QBaseClass {
		// General Variables
		protected $objTableUserProjectTmp;
		protected $objParentObject;
		protected $strTitleVerb;
		protected $blnEditMode;

		// Controls that allow the editing of TableUserProjectTmp's individual data fields
		protected $lblId;
		protected $txtUserName;
		protected $txtFirstname;
		protected $txtLastname;
		protected $txtMail;
		protected $txtPassword;
		protected $txtIp;
		protected $calInputDate;
		protected $calTimeupDate;
		protected $txtUrl;
		protected $txtRegistered;
		protected $calRegisterDate;

		// Controls that allow the viewing of TableUserProjectTmp's individual data fields
		protected $lblUserName;
		protected $lblFirstname;
		protected $lblLastname;
		protected $lblMail;
		protected $lblPassword;
		protected $lblIp;
		protected $lblInputDate;
		protected $lblTimeupDate;
		protected $lblUrl;
		protected $lblRegistered;
		protected $lblRegisterDate;

		// QListBox Controls (if applicable) to edit Unique ReverseReferences and ManyToMany References

		// QLabel Controls (if applicable) to view Unique ReverseReferences and ManyToMany References


		/**
		 * Main constructor.  Constructor OR static create methods are designed to be called in either
		 * a parent QPanel or the main QForm when wanting to create a
		 * TableUserProjectTmpMetaControl to edit a single TableUserProjectTmp object within the
		 * QPanel or QForm.
		 *
		 * This constructor takes in a single TableUserProjectTmp object, while any of the static
		 * create methods below can be used to construct based off of individual PK ID(s).
		 *
		 * @param mixed $objParentObject QForm or QPanel which will be using this TableUserProjectTmpMetaControl
		 * @param TableUserProjectTmp $objTableUserProjectTmp new or existing TableUserProjectTmp object
		 */
		 public function __construct($objParentObject, TableUserProjectTmp $objTableUserProjectTmp) {
			// Setup Parent Object (e.g. QForm or QPanel which will be using this TableUserProjectTmpMetaControl)
			$this->objParentObject = $objParentObject;

			// Setup linked TableUserProjectTmp object
			$this->objTableUserProjectTmp = $objTableUserProjectTmp;

			// Figure out if we're Editing or Creating New
			if ($this->objTableUserProjectTmp->__Restored) {
				$this->strTitleVerb = QApplication::Translate('Edit');
				$this->blnEditMode = true;
			} else {
				$this->strTitleVerb = QApplication::Translate('Create');
				$this->blnEditMode = false;
			}
		 }

		/**
		 * Static Helper Method to Create using PK arguments
		 * You must pass in the PK arguments on an object to load, or leave it blank to create a new one.
		 * If you want to load via QueryString or PathInfo, use the CreateFromQueryString or CreateFromPathInfo
		 * static helper methods.  Finally, specify a CreateType to define whether or not we are only allowed to 
		 * edit, or if we are also allowed to create a new one, etc.
		 * 
		 * @param mixed $objParentObject QForm or QPanel which will be using this TableUserProjectTmpMetaControl
		 * @param integer $intId primary key value
		 * @param QMetaControlCreateType $intCreateType rules governing TableUserProjectTmp object creation - defaults to CreateOrEdit
 		 * @return TableUserProjectTmpMetaControl
		 */
		public static function Create($objParentObject, $intId = null, $intCreateType = QMetaControlCreateType::CreateOrEdit) {
			// Attempt to Load from PK Arguments
			if (strlen($intId)) {
				$objTableUserProjectTmp = TableUserProjectTmp::Load($intId);

				// TableUserProjectTmp was found -- return it!
				if ($objTableUserProjectTmp)
					return new TableUserProjectTmpMetaControl($objParentObject, $objTableUserProjectTmp);

				// If CreateOnRecordNotFound not specified, throw an exception
				else if ($intCreateType != QMetaControlCreateType::CreateOnRecordNotFound)
					throw new QCallerException('Could not find a TableUserProjectTmp object with PK arguments: ' . $intId);

			// If EditOnly is specified, throw an exception
			} else if ($intCreateType == QMetaControlCreateType::EditOnly)
				throw new QCallerException('No PK arguments specified');

			// If we are here, then we need to create a new record
			return new TableUserProjectTmpMetaControl($objParentObject, new TableUserProjectTmp());
		}

		/**
		 * Static Helper Method to Create using PathInfo arguments
		 *
		 * @param mixed $objParentObject QForm or QPanel which will be using this TableUserProjectTmpMetaControl
		 * @param QMetaControlCreateType $intCreateType rules governing TableUserProjectTmp object creation - defaults to CreateOrEdit
		 * @return TableUserProjectTmpMetaControl
		 */
		public static function CreateFromPathInfo($objParentObject, $intCreateType = QMetaControlCreateType::CreateOrEdit) {
			$intId = QApplication::PathInfo(0);
			return TableUserProjectTmpMetaControl::Create($objParentObject, $intId, $intCreateType);
		}

		/**
		 * Static Helper Method to Create using QueryString arguments
		 *
		 * @param mixed $objParentObject QForm or QPanel which will be using this TableUserProjectTmpMetaControl
		 * @param QMetaControlCreateType $intCreateType rules governing TableUserProjectTmp object creation - defaults to CreateOrEdit
		 * @return TableUserProjectTmpMetaControl
		 */
		public static function CreateFromQueryString($objParentObject, $intCreateType = QMetaControlCreateType::CreateOrEdit) {
			$intId = QApplication::QueryString('intId');
			return TableUserProjectTmpMetaControl::Create($objParentObject, $intId, $intCreateType);
		}



		///////////////////////////////////////////////
		// PUBLIC CREATE and REFRESH METHODS
		///////////////////////////////////////////////

		/**
		 * Create and setup QLabel lblId
		 * @param string $strControlId optional ControlId to use
		 * @return QLabel
		 */
		public function lblId_Create($strControlId = null) {
			$this->lblId = new QLabel($this->objParentObject, $strControlId);
			$this->lblId->Name = QApplication::Translate('Id');
			if ($this->blnEditMode)
				$this->lblId->Text = $this->objTableUserProjectTmp->Id;
			else
				$this->lblId->Text = 'N/A';
			return $this->lblId;
		}

		/**
		 * Create and setup QTextBox txtUserName
		 * @param string $strControlId optional ControlId to use
		 * @return QTextBox
		 */
		public function txtUserName_Create($strControlId = null) {
			$this->txtUserName = new QTextBox($this->objParentObject, $strControlId);
			$this->txtUserName->Name = QApplication::Translate('User Name');
			$this->txtUserName->Text = $this->objTableUserProjectTmp->UserName;
			$this->txtUserName->Required = true;
			$this->txtUserName->MaxLength = TableUserProjectTmp::UserNameMaxLength;
			return $this->txtUserName;
		}

		/**
		 * Create and setup QLabel lblUserName
		 * @param string $strControlId optional ControlId to use
		 * @return QLabel
		 */
		public function lblUserName_Create($strControlId = null) {
			$this->lblUserName = new QLabel($this->objParentObject, $strControlId);
			$this->lblUserName->Name = QApplication::Translate('User Name');
			$this->lblUserName->Text = $this->objTableUserProjectTmp->UserName;
			$this->lblUserName->Required = true;
			return $this->lblUserName;
		}

		/**
		 * Create and setup QTextBox txtFirstname
		 * @param string $strControlId optional ControlId to use
		 * @return QTextBox
		 */
		public function txtFirstname_Create($strControlId = null) {
			$this->txtFirstname = new QTextBox($this->objParentObject, $strControlId);
			$this->txtFirstname->Name = QApplication::Translate('Firstname');
			$this->txtFirstname->Text = $this->objTableUserProjectTmp->Firstname;
			$this->txtFirstname->MaxLength = TableUserProjectTmp::FirstnameMaxLength;
			return $this->txtFirstname;
		}

		/**
		 * Create and setup QLabel lblFirstname
		 * @param string $strControlId optional ControlId to use
		 * @return QLabel
		 */
		public function lblFirstname_Create($strControlId = null) {
			$this->lblFirstname = new QLabel($this->objParentObject, $strControlId);
			$this->lblFirstname->Name = QApplication::Translate('Firstname');
			$this->lblFirstname->Text = $this->objTableUserProjectTmp->Firstname;
			return $this->lblFirstname;
		}

		/**
		 * Create and setup QTextBox txtLastname
		 * @param string $strControlId optional ControlId to use
		 * @return QTextBox
		 */
		public function txtLastname_Create($strControlId = null) {
			$this->txtLastname = new QTextBox($this->objParentObject, $strControlId);
			$this->txtLastname->Name = QApplication::Translate('Lastname');
			$this->txtLastname->Text = $this->objTableUserProjectTmp->Lastname;
			$this->txtLastname->MaxLength = TableUserProjectTmp::LastnameMaxLength;
			return $this->txtLastname;
		}

		/**
		 * Create and setup QLabel lblLastname
		 * @param string $strControlId optional ControlId to use
		 * @return QLabel
		 */
		public function lblLastname_Create($strControlId = null) {
			$this->lblLastname = new QLabel($this->objParentObject, $strControlId);
			$this->lblLastname->Name = QApplication::Translate('Lastname');
			$this->lblLastname->Text = $this->objTableUserProjectTmp->Lastname;
			return $this->lblLastname;
		}

		/**
		 * Create and setup QTextBox txtMail
		 * @param string $strControlId optional ControlId to use
		 * @return QTextBox
		 */
		public function txtMail_Create($strControlId = null) {
			$this->txtMail = new QTextBox($this->objParentObject, $strControlId);
			$this->txtMail->Name = QApplication::Translate('Mail');
			$this->txtMail->Text = $this->objTableUserProjectTmp->Mail;
			$this->txtMail->Required = true;
			$this->txtMail->MaxLength = TableUserProjectTmp::MailMaxLength;
			return $this->txtMail;
		}

		/**
		 * Create and setup QLabel lblMail
		 * @param string $strControlId optional ControlId to use
		 * @return QLabel
		 */
		public function lblMail_Create($strControlId = null) {
			$this->lblMail = new QLabel($this->objParentObject, $strControlId);
			$this->lblMail->Name = QApplication::Translate('Mail');
			$this->lblMail->Text = $this->objTableUserProjectTmp->Mail;
			$this->lblMail->Required = true;
			return $this->lblMail;
		}

		/**
		 * Create and setup QTextBox txtPassword
		 * @param string $strControlId optional ControlId to use
		 * @return QTextBox
		 */
		public function txtPassword_Create($strControlId = null) {
			$this->txtPassword = new QTextBox($this->objParentObject, $strControlId);
			$this->txtPassword->Name = QApplication::Translate('Password');
			$this->txtPassword->Text = $this->objTableUserProjectTmp->Password;
			$this->txtPassword->MaxLength = TableUserProjectTmp::PasswordMaxLength;
			return $this->txtPassword;
		}

		/**
		 * Create and setup QLabel lblPassword
		 * @param string $strControlId optional ControlId to use
		 * @return QLabel
		 */
		public function lblPassword_Create($strControlId = null) {
			$this->lblPassword = new QLabel($this->objParentObject, $strControlId);
			$this->lblPassword->Name = QApplication::Translate('Password');
			$this->lblPassword->Text = $this->objTableUserProjectTmp->Password;
			return $this->lblPassword;
		}

		/**
		 * Create and setup QTextBox txtIp
		 * @param string $strControlId optional ControlId to use
		 * @return QTextBox
		 */
		public function txtIp_Create($strControlId = null) {
			$this->txtIp = new QTextBox($this->objParentObject, $strControlId);
			$this->txtIp->Name = QApplication::Translate('Ip');
			$this->txtIp->Text = $this->objTableUserProjectTmp->Ip;
			$this->txtIp->MaxLength = TableUserProjectTmp::IpMaxLength;
			return $this->txtIp;
		}

		/**
		 * Create and setup QLabel lblIp
		 * @param string $strControlId optional ControlId to use
		 * @return QLabel
		 */
		public function lblIp_Create($strControlId = null) {
			$this->lblIp = new QLabel($this->objParentObject, $strControlId);
			$this->lblIp->Name = QApplication::Translate('Ip');
			$this->lblIp->Text = $this->objTableUserProjectTmp->Ip;
			return $this->lblIp;
		}

		/**
		 * Create and setup QDateTimePicker calInputDate
		 * @param string $strControlId optional ControlId to use
		 * @return QDateTimePicker
		 */
		public function calInputDate_Create($strControlId = null) {
			$this->calInputDate = new QDateTimePicker($this->objParentObject, $strControlId);
			$this->calInputDate->Name = QApplication::Translate('Input Date');
			$this->calInputDate->DateTime = $this->objTableUserProjectTmp->InputDate;
			$this->calInputDate->DateTimePickerType = QDateTimePickerType::DateTime;
			return $this->calInputDate;
		}

		/**
		 * Create and setup QLabel lblInputDate
		 * @param string $strControlId optional ControlId to use
		 * @param string $strDateTimeFormat optional DateTimeFormat to use
		 * @return QLabel
		 */
		public function lblInputDate_Create($strControlId = null, $strDateTimeFormat = null) {
			$this->lblInputDate = new QLabel($this->objParentObject, $strControlId);
			$this->lblInputDate->Name = QApplication::Translate('Input Date');
			$this->strInputDateDateTimeFormat = $strDateTimeFormat;
			$this->lblInputDate->Text = sprintf($this->objTableUserProjectTmp->InputDate) ? $this->objTableUserProjectTmp->InputDate->__toString($this->strInputDateDateTimeFormat) : null;
			return $this->lblInputDate;
		}

		protected $strInputDateDateTimeFormat;


		/**
		 * Create and setup QDateTimePicker calTimeupDate
		 * @param string $strControlId optional ControlId to use
		 * @return QDateTimePicker
		 */
		public function calTimeupDate_Create($strControlId = null) {
			$this->calTimeupDate = new QDateTimePicker($this->objParentObject, $strControlId);
			$this->calTimeupDate->Name = QApplication::Translate('Timeup Date');
			$this->calTimeupDate->DateTime = $this->objTableUserProjectTmp->TimeupDate;
			$this->calTimeupDate->DateTimePickerType = QDateTimePickerType::DateTime;
			return $this->calTimeupDate;
		}

		/**
		 * Create and setup QLabel lblTimeupDate
		 * @param string $strControlId optional ControlId to use
		 * @param string $strDateTimeFormat optional DateTimeFormat to use
		 * @return QLabel
		 */
		public function lblTimeupDate_Create($strControlId = null, $strDateTimeFormat = null) {
			$this->lblTimeupDate = new QLabel($this->objParentObject, $strControlId);
			$this->lblTimeupDate->Name = QApplication::Translate('Timeup Date');
			$this->strTimeupDateDateTimeFormat = $strDateTimeFormat;
			$this->lblTimeupDate->Text = sprintf($this->objTableUserProjectTmp->TimeupDate) ? $this->objTableUserProjectTmp->TimeupDate->__toString($this->strTimeupDateDateTimeFormat) : null;
			return $this->lblTimeupDate;
		}

		protected $strTimeupDateDateTimeFormat;


		/**
		 * Create and setup QTextBox txtUrl
		 * @param string $strControlId optional ControlId to use
		 * @return QTextBox
		 */
		public function txtUrl_Create($strControlId = null) {
			$this->txtUrl = new QTextBox($this->objParentObject, $strControlId);
			$this->txtUrl->Name = QApplication::Translate('Url');
			$this->txtUrl->Text = $this->objTableUserProjectTmp->Url;
			$this->txtUrl->Required = true;
			$this->txtUrl->MaxLength = TableUserProjectTmp::UrlMaxLength;
			return $this->txtUrl;
		}

		/**
		 * Create and setup QLabel lblUrl
		 * @param string $strControlId optional ControlId to use
		 * @return QLabel
		 */
		public function lblUrl_Create($strControlId = null) {
			$this->lblUrl = new QLabel($this->objParentObject, $strControlId);
			$this->lblUrl->Name = QApplication::Translate('Url');
			$this->lblUrl->Text = $this->objTableUserProjectTmp->Url;
			$this->lblUrl->Required = true;
			return $this->lblUrl;
		}

		/**
		 * Create and setup QTextBox txtRegistered
		 * @param string $strControlId optional ControlId to use
		 * @return QTextBox
		 */
		public function txtRegistered_Create($strControlId = null) {
			$this->txtRegistered = new QTextBox($this->objParentObject, $strControlId);
			$this->txtRegistered->Name = QApplication::Translate('Registered');
			$this->txtRegistered->Text = $this->objTableUserProjectTmp->Registered;
			$this->txtRegistered->Required = true;
			$this->txtRegistered->MaxLength = TableUserProjectTmp::RegisteredMaxLength;
			return $this->txtRegistered;
		}

		/**
		 * Create and setup QLabel lblRegistered
		 * @param string $strControlId optional ControlId to use
		 * @return QLabel
		 */
		public function lblRegistered_Create($strControlId = null) {
			$this->lblRegistered = new QLabel($this->objParentObject, $strControlId);
			$this->lblRegistered->Name = QApplication::Translate('Registered');
			$this->lblRegistered->Text = $this->objTableUserProjectTmp->Registered;
			$this->lblRegistered->Required = true;
			return $this->lblRegistered;
		}

		/**
		 * Create and setup QDateTimePicker calRegisterDate
		 * @param string $strControlId optional ControlId to use
		 * @return QDateTimePicker
		 */
		public function calRegisterDate_Create($strControlId = null) {
			$this->calRegisterDate = new QDateTimePicker($this->objParentObject, $strControlId);
			$this->calRegisterDate->Name = QApplication::Translate('Register Date');
			$this->calRegisterDate->DateTime = $this->objTableUserProjectTmp->RegisterDate;
			$this->calRegisterDate->DateTimePickerType = QDateTimePickerType::DateTime;
			return $this->calRegisterDate;
		}

		/**
		 * Create and setup QLabel lblRegisterDate
		 * @param string $strControlId optional ControlId to use
		 * @param string $strDateTimeFormat optional DateTimeFormat to use
		 * @return QLabel
		 */
		public function lblRegisterDate_Create($strControlId = null, $strDateTimeFormat = null) {
			$this->lblRegisterDate = new QLabel($this->objParentObject, $strControlId);
			$this->lblRegisterDate->Name = QApplication::Translate('Register Date');
			$this->strRegisterDateDateTimeFormat = $strDateTimeFormat;
			$this->lblRegisterDate->Text = sprintf($this->objTableUserProjectTmp->RegisterDate) ? $this->objTableUserProjectTmp->RegisterDate->__toString($this->strRegisterDateDateTimeFormat) : null;
			return $this->lblRegisterDate;
		}

		protected $strRegisterDateDateTimeFormat;




		/**
		 * Refresh this MetaControl with Data from the local TableUserProjectTmp object.
		 * @param boolean $blnReload reload TableUserProjectTmp from the database
		 * @return void
		 */
		public function Refresh($blnReload = false) {
			if ($blnReload)
				$this->objTableUserProjectTmp->Reload();

			if ($this->lblId) if ($this->blnEditMode) $this->lblId->Text = $this->objTableUserProjectTmp->Id;

			if ($this->txtUserName) $this->txtUserName->Text = $this->objTableUserProjectTmp->UserName;
			if ($this->lblUserName) $this->lblUserName->Text = $this->objTableUserProjectTmp->UserName;

			if ($this->txtFirstname) $this->txtFirstname->Text = $this->objTableUserProjectTmp->Firstname;
			if ($this->lblFirstname) $this->lblFirstname->Text = $this->objTableUserProjectTmp->Firstname;

			if ($this->txtLastname) $this->txtLastname->Text = $this->objTableUserProjectTmp->Lastname;
			if ($this->lblLastname) $this->lblLastname->Text = $this->objTableUserProjectTmp->Lastname;

			if ($this->txtMail) $this->txtMail->Text = $this->objTableUserProjectTmp->Mail;
			if ($this->lblMail) $this->lblMail->Text = $this->objTableUserProjectTmp->Mail;

			if ($this->txtPassword) $this->txtPassword->Text = $this->objTableUserProjectTmp->Password;
			if ($this->lblPassword) $this->lblPassword->Text = $this->objTableUserProjectTmp->Password;

			if ($this->txtIp) $this->txtIp->Text = $this->objTableUserProjectTmp->Ip;
			if ($this->lblIp) $this->lblIp->Text = $this->objTableUserProjectTmp->Ip;

			if ($this->calInputDate) $this->calInputDate->DateTime = $this->objTableUserProjectTmp->InputDate;
			if ($this->lblInputDate) $this->lblInputDate->Text = sprintf($this->objTableUserProjectTmp->InputDate) ? $this->objTableUserProjectTmp->InputDate->__toString($this->strInputDateDateTimeFormat) : null;

			if ($this->calTimeupDate) $this->calTimeupDate->DateTime = $this->objTableUserProjectTmp->TimeupDate;
			if ($this->lblTimeupDate) $this->lblTimeupDate->Text = sprintf($this->objTableUserProjectTmp->TimeupDate) ? $this->objTableUserProjectTmp->TimeupDate->__toString($this->strTimeupDateDateTimeFormat) : null;

			if ($this->txtUrl) $this->txtUrl->Text = $this->objTableUserProjectTmp->Url;
			if ($this->lblUrl) $this->lblUrl->Text = $this->objTableUserProjectTmp->Url;

			if ($this->txtRegistered) $this->txtRegistered->Text = $this->objTableUserProjectTmp->Registered;
			if ($this->lblRegistered) $this->lblRegistered->Text = $this->objTableUserProjectTmp->Registered;

			if ($this->calRegisterDate) $this->calRegisterDate->DateTime = $this->objTableUserProjectTmp->RegisterDate;
			if ($this->lblRegisterDate) $this->lblRegisterDate->Text = sprintf($this->objTableUserProjectTmp->RegisterDate) ? $this->objTableUserProjectTmp->RegisterDate->__toString($this->strRegisterDateDateTimeFormat) : null;

		}



		///////////////////////////////////////////////
		// PROTECTED UPDATE METHODS for ManyToManyReferences (if any)
		///////////////////////////////////////////////





		///////////////////////////////////////////////
		// PUBLIC TABLEUSERPROJECTTMP OBJECT MANIPULATORS
		///////////////////////////////////////////////

		/**
		 * This will save this object's TableUserProjectTmp instance,
		 * updating only the fields which have had a control created for it.
		 */
		public function SaveTableUserProjectTmp() {
			try {
				// Update any fields for controls that have been created
				if ($this->txtUserName) $this->objTableUserProjectTmp->UserName = $this->txtUserName->Text;
				if ($this->txtFirstname) $this->objTableUserProjectTmp->Firstname = $this->txtFirstname->Text;
				if ($this->txtLastname) $this->objTableUserProjectTmp->Lastname = $this->txtLastname->Text;
				if ($this->txtMail) $this->objTableUserProjectTmp->Mail = $this->txtMail->Text;
				if ($this->txtPassword) $this->objTableUserProjectTmp->Password = $this->txtPassword->Text;
				if ($this->txtIp) $this->objTableUserProjectTmp->Ip = $this->txtIp->Text;
				if ($this->calInputDate) $this->objTableUserProjectTmp->InputDate = $this->calInputDate->DateTime;
				if ($this->calTimeupDate) $this->objTableUserProjectTmp->TimeupDate = $this->calTimeupDate->DateTime;
				if ($this->txtUrl) $this->objTableUserProjectTmp->Url = $this->txtUrl->Text;
				if ($this->txtRegistered) $this->objTableUserProjectTmp->Registered = $this->txtRegistered->Text;
				if ($this->calRegisterDate) $this->objTableUserProjectTmp->RegisterDate = $this->calRegisterDate->DateTime;

				// Update any UniqueReverseReferences (if any) for controls that have been created for it

				// Save the TableUserProjectTmp object
				$this->objTableUserProjectTmp->Save();

				// Finally, update any ManyToManyReferences (if any)
			} catch (QCallerException $objExc) {
				$objExc->IncrementOffset();
				throw $objExc;
			}
		}

		/**
		 * This will DELETE this object's TableUserProjectTmp instance from the database.
		 * It will also unassociate itself from any ManyToManyReferences.
		 */
		public function DeleteTableUserProjectTmp() {
			$this->objTableUserProjectTmp->Delete();
		}		



		///////////////////////////////////////////////
		// PUBLIC GETTERS and SETTERS
		///////////////////////////////////////////////

		/**
		 * Override method to perform a property "Get"
		 * This will get the value of $strName
		 *
		 * @param string $strName Name of the property to get
		 * @return mixed
		 */
		public function __get($strName) {
			switch ($strName) {
				// General MetaControlVariables
				case 'TableUserProjectTmp': return $this->objTableUserProjectTmp;
				case 'TitleVerb': return $this->strTitleVerb;
				case 'EditMode': return $this->blnEditMode;

				// Controls that point to TableUserProjectTmp fields -- will be created dynamically if not yet created
				case 'IdControl':
					if (!$this->lblId) return $this->lblId_Create();
					return $this->lblId;
				case 'IdLabel':
					if (!$this->lblId) return $this->lblId_Create();
					return $this->lblId;
				case 'UserNameControl':
					if (!$this->txtUserName) return $this->txtUserName_Create();
					return $this->txtUserName;
				case 'UserNameLabel':
					if (!$this->lblUserName) return $this->lblUserName_Create();
					return $this->lblUserName;
				case 'FirstnameControl':
					if (!$this->txtFirstname) return $this->txtFirstname_Create();
					return $this->txtFirstname;
				case 'FirstnameLabel':
					if (!$this->lblFirstname) return $this->lblFirstname_Create();
					return $this->lblFirstname;
				case 'LastnameControl':
					if (!$this->txtLastname) return $this->txtLastname_Create();
					return $this->txtLastname;
				case 'LastnameLabel':
					if (!$this->lblLastname) return $this->lblLastname_Create();
					return $this->lblLastname;
				case 'MailControl':
					if (!$this->txtMail) return $this->txtMail_Create();
					return $this->txtMail;
				case 'MailLabel':
					if (!$this->lblMail) return $this->lblMail_Create();
					return $this->lblMail;
				case 'PasswordControl':
					if (!$this->txtPassword) return $this->txtPassword_Create();
					return $this->txtPassword;
				case 'PasswordLabel':
					if (!$this->lblPassword) return $this->lblPassword_Create();
					return $this->lblPassword;
				case 'IpControl':
					if (!$this->txtIp) return $this->txtIp_Create();
					return $this->txtIp;
				case 'IpLabel':
					if (!$this->lblIp) return $this->lblIp_Create();
					return $this->lblIp;
				case 'InputDateControl':
					if (!$this->calInputDate) return $this->calInputDate_Create();
					return $this->calInputDate;
				case 'InputDateLabel':
					if (!$this->lblInputDate) return $this->lblInputDate_Create();
					return $this->lblInputDate;
				case 'TimeupDateControl':
					if (!$this->calTimeupDate) return $this->calTimeupDate_Create();
					return $this->calTimeupDate;
				case 'TimeupDateLabel':
					if (!$this->lblTimeupDate) return $this->lblTimeupDate_Create();
					return $this->lblTimeupDate;
				case 'UrlControl':
					if (!$this->txtUrl) return $this->txtUrl_Create();
					return $this->txtUrl;
				case 'UrlLabel':
					if (!$this->lblUrl) return $this->lblUrl_Create();
					return $this->lblUrl;
				case 'RegisteredControl':
					if (!$this->txtRegistered) return $this->txtRegistered_Create();
					return $this->txtRegistered;
				case 'RegisteredLabel':
					if (!$this->lblRegistered) return $this->lblRegistered_Create();
					return $this->lblRegistered;
				case 'RegisterDateControl':
					if (!$this->calRegisterDate) return $this->calRegisterDate_Create();
					return $this->calRegisterDate;
				case 'RegisterDateLabel':
					if (!$this->lblRegisterDate) return $this->lblRegisterDate_Create();
					return $this->lblRegisterDate;
				default:
					try {
						return parent::__get($strName);
					} catch (QCallerException $objExc) {
						$objExc->IncrementOffset();
						throw $objExc;
					}
			}
		}

		/**
		 * Override method to perform a property "Set"
		 * This will set the property $strName to be $mixValue
		 *
		 * @param string $strName Name of the property to set
		 * @param string $mixValue New value of the property
		 * @return mixed
		 */
		public function __set($strName, $mixValue) {
			try {
				switch ($strName) {
					// Controls that point to TableUserProjectTmp fields
					case 'IdControl':
						return ($this->lblId = QType::Cast($mixValue, 'QControl'));
					case 'UserNameControl':
						return ($this->txtUserName = QType::Cast($mixValue, 'QControl'));
					case 'FirstnameControl':
						return ($this->txtFirstname = QType::Cast($mixValue, 'QControl'));
					case 'LastnameControl':
						return ($this->txtLastname = QType::Cast($mixValue, 'QControl'));
					case 'MailControl':
						return ($this->txtMail = QType::Cast($mixValue, 'QControl'));
					case 'PasswordControl':
						return ($this->txtPassword = QType::Cast($mixValue, 'QControl'));
					case 'IpControl':
						return ($this->txtIp = QType::Cast($mixValue, 'QControl'));
					case 'InputDateControl':
						return ($this->calInputDate = QType::Cast($mixValue, 'QControl'));
					case 'TimeupDateControl':
						return ($this->calTimeupDate = QType::Cast($mixValue, 'QControl'));
					case 'UrlControl':
						return ($this->txtUrl = QType::Cast($mixValue, 'QControl'));
					case 'RegisteredControl':
						return ($this->txtRegistered = QType::Cast($mixValue, 'QControl'));
					case 'RegisterDateControl':
						return ($this->calRegisterDate = QType::Cast($mixValue, 'QControl'));
					default:
						return parent::__set($strName, $mixValue);
				}
			} catch (QCallerException $objExc) {
				$objExc->IncrementOffset();
				throw $objExc;
			}
		}
	}
?>